gtk/gtktextdisplay.c (render_para, gtk_text_layout_draw): Fix
authorMatthias Clasen <matthiasc@src.gnome.org>
Tue, 7 Aug 2001 20:56:48 +0000 (20:56 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Tue, 7 Aug 2001 20:56:48 +0000 (20:56 +0000)
some off-by-one issues, fixing selection of line-ends. (#50323)

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtktextdisplay.c

index b8d06336e63d2b24906ad37fed6b5d4167c1a401..b6864c0155c85c1c098b068e5d2b5d659690b22f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2001-08-07    <matthiasc@waldgeist.poet.de>
+
+       * gtk/gtktextdisplay.c (render_para, gtk_text_layout_draw): Fix
+       some off-by-one issues, fixing selection of line-ends. (#50323)
+
 2001-08-07  Matthias Clasen  <matthiasc@waldgeist.poet.de>
 
        * gtk/gtkhsv.c (gtk_hsv_map, gtk_hsv_unmap): Reinstate these
index b8d06336e63d2b24906ad37fed6b5d4167c1a401..b6864c0155c85c1c098b068e5d2b5d659690b22f 100644 (file)
@@ -1,3 +1,8 @@
+2001-08-07    <matthiasc@waldgeist.poet.de>
+
+       * gtk/gtktextdisplay.c (render_para, gtk_text_layout_draw): Fix
+       some off-by-one issues, fixing selection of line-ends. (#50323)
+
 2001-08-07  Matthias Clasen  <matthiasc@waldgeist.poet.de>
 
        * gtk/gtkhsv.c (gtk_hsv_map, gtk_hsv_unmap): Reinstate these
index b8d06336e63d2b24906ad37fed6b5d4167c1a401..b6864c0155c85c1c098b068e5d2b5d659690b22f 100644 (file)
@@ -1,3 +1,8 @@
+2001-08-07    <matthiasc@waldgeist.poet.de>
+
+       * gtk/gtktextdisplay.c (render_para, gtk_text_layout_draw): Fix
+       some off-by-one issues, fixing selection of line-ends. (#50323)
+
 2001-08-07  Matthias Clasen  <matthiasc@waldgeist.poet.de>
 
        * gtk/gtkhsv.c (gtk_hsv_map, gtk_hsv_unmap): Reinstate these
index b8d06336e63d2b24906ad37fed6b5d4167c1a401..b6864c0155c85c1c098b068e5d2b5d659690b22f 100644 (file)
@@ -1,3 +1,8 @@
+2001-08-07    <matthiasc@waldgeist.poet.de>
+
+       * gtk/gtktextdisplay.c (render_para, gtk_text_layout_draw): Fix
+       some off-by-one issues, fixing selection of line-ends. (#50323)
+
 2001-08-07  Matthias Clasen  <matthiasc@waldgeist.poet.de>
 
        * gtk/gtkhsv.c (gtk_hsv_map, gtk_hsv_unmap): Reinstate these
index b8d06336e63d2b24906ad37fed6b5d4167c1a401..b6864c0155c85c1c098b068e5d2b5d659690b22f 100644 (file)
@@ -1,3 +1,8 @@
+2001-08-07    <matthiasc@waldgeist.poet.de>
+
+       * gtk/gtktextdisplay.c (render_para, gtk_text_layout_draw): Fix
+       some off-by-one issues, fixing selection of line-ends. (#50323)
+
 2001-08-07  Matthias Clasen  <matthiasc@waldgeist.poet.de>
 
        * gtk/gtkhsv.c (gtk_hsv_map, gtk_hsv_unmap): Reinstate these
index b8d06336e63d2b24906ad37fed6b5d4167c1a401..b6864c0155c85c1c098b068e5d2b5d659690b22f 100644 (file)
@@ -1,3 +1,8 @@
+2001-08-07    <matthiasc@waldgeist.poet.de>
+
+       * gtk/gtktextdisplay.c (render_para, gtk_text_layout_draw): Fix
+       some off-by-one issues, fixing selection of line-ends. (#50323)
+
 2001-08-07  Matthias Clasen  <matthiasc@waldgeist.poet.de>
 
        * gtk/gtkhsv.c (gtk_hsv_map, gtk_hsv_unmap): Reinstate these
index b8d06336e63d2b24906ad37fed6b5d4167c1a401..b6864c0155c85c1c098b068e5d2b5d659690b22f 100644 (file)
@@ -1,3 +1,8 @@
+2001-08-07    <matthiasc@waldgeist.poet.de>
+
+       * gtk/gtktextdisplay.c (render_para, gtk_text_layout_draw): Fix
+       some off-by-one issues, fixing selection of line-ends. (#50323)
+
 2001-08-07  Matthias Clasen  <matthiasc@waldgeist.poet.de>
 
        * gtk/gtkhsv.c (gtk_hsv_map, gtk_hsv_unmap): Reinstate these
index bf5c1cdec31c7b72fcec7619a2d221e3cfeec796..9149886c49a02a52c78fd67dfbc811f468cca061 100644 (file)
@@ -539,7 +539,7 @@ render_para (GdkDrawable        *drawable,
                               y + PANGO_PIXELS (baseline),
                               FALSE);
 
-          if (selection_start_index < byte_offset + line->length &&
+          if (selection_start_index <= byte_offset + line->length &&
               selection_end_index > byte_offset) /* Some selected */
             {
               GdkRegion *clip_region = get_selected_clip (render_state, layout, line,
@@ -746,7 +746,7 @@ gtk_text_layout_draw (GtkTextLayout *layout,
             {
               GtkTextIter line_start, line_end;
               gint byte_count;
-
+              
               gtk_text_layout_get_iter_at_line (layout,
                                                 &line_start,
                                                 line, 0);
@@ -757,8 +757,8 @@ gtk_text_layout_draw (GtkTextLayout *layout,
                                                 &line_end,
                                                 line, byte_count - 1);
 
-              if (gtk_text_iter_compare (&selection_start, &line_end) < 0 &&
-                  gtk_text_iter_compare (&selection_end, &line_start) > 0)
+              if (gtk_text_iter_compare (&selection_start, &line_end) <= 0 &&
+                  gtk_text_iter_compare (&selection_end, &line_start) >= 0)
                 {
                   if (gtk_text_iter_compare (&selection_start, &line_start) >= 0)
                     selection_start_index = gtk_text_iter_get_line_index (&selection_start);